package proyecto.EntityBeans;

import java.io.Serializable;
import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.OneToOne;
import javax.persistence.Table;

@Entity
@Table(name="vinculacion_alumno")
public class VinculacionAlumno implements Serializable {

	private static final long serialVersionUID = 7422574264557894633L;
	
	private int idVA;
	private Date fecha;
	private String nota;
	private String observacion;
	private Vinculacion vinculacion;	
	private Alumno alumno;
	
	
	public VinculacionAlumno() {
		super();
		// TODO Auto-generated constructor stub
	}


	public VinculacionAlumno(int idVA, Date fecha, String nota, String observacion, Vinculacion vinculacion, Alumno alumno) {
		super();
		this.idVA = idVA;
		this.fecha = fecha;
		this.nota = nota;
		this.observacion = observacion;
		this.vinculacion = vinculacion;
		this.alumno = alumno;
	}


	public VinculacionAlumno(Date fecha, String nota, String observacion, Vinculacion vinculacion, Alumno alumno) {
		super();
		this.fecha = fecha;
		this.nota = nota;
		this.observacion = observacion;
		this.vinculacion = vinculacion;
		this.alumno = alumno;
	}

	
	@Id	
	@GeneratedValue(strategy = GenerationType.AUTO)
	public int getIdVA() {
		return idVA;
	}


	public void setIdVA(int idVA) {
		this.idVA = idVA;
	}

	
	@Column(name = "FECHA")
	public Date getFecha() {
		return fecha;
	}


	public void setFecha(Date fecha) {
		this.fecha = fecha;
	}

	
	@Column(name = "NOTA")
	public String getNota() {
		return nota;
	}


	public void setNota(String nota) {
		this.nota = nota;
	}


	@Column(name = "OBSERVACION")
	public String getObservacion() {
		return observacion;
	}


	public void setObservacion(String observacion) {
		this.observacion = observacion;
	}


	/* Multiplicidad 1:1 */
	@OneToOne(optional = false)
	@JoinColumn(name="vinculacion_idVinculacion")
	public Vinculacion getVinculacion() {
		return vinculacion;
	}


	public void setVinculacion(Vinculacion vinculacion) {
		this.vinculacion = vinculacion;
	}
	
	
	/* Multiplicidad 1:1 */
	@OneToOne(optional = false)
	@JoinColumn(name="alumno_idAlumno")
	public Alumno getAlumno() {
		return alumno;
	}


	public void setAlumno(Alumno alumno) {
		this.alumno = alumno;
	}

	
	@Override
	public String toString() {
		return "Nro. VA: " + this.getIdVA() + " id de vinculacion " + this.getVinculacion().getIdVinculacion() + " id de alumno " + this.getAlumno().getIdPersona();
	}	
	
	
}
